home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / OpenGL / glxmakecurrentreadsgi.z / glxmakecurrentreadsgi
Encoding:
Text File  |  2002-10-03  |  11.7 KB  |  199 lines

  1.  
  2.  
  3.  
  4. ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII - attach a GLX context to separate read and write
  10.      drawables
  11.  
  12.  
  13. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  14.      Bool ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII( Display *_d_p_y,
  15.                                  GLXDrawable _d_r_a_w,
  16.                                  GLXDrawable _r_e_a_d,
  17.                                  GLXContext _g_c )
  18.  
  19.  
  20. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  21.      _d_p_y   Specifies the connection to the X server.
  22.  
  23.  
  24.      _d_r_a_w  A GLX drawable that receives the results of OpenGL drawing
  25.            operations.
  26.  
  27.  
  28.      _r_e_a_d  A GLX drawable that provides pixels for ggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss and
  29.            ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss operations.
  30.  
  31.  
  32.      _g_c    A GLX rendering context to be attached to _d_r_a_w and _r_e_a_d.
  33.  
  34.  
  35. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  36.      ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII performs the same functions as ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnntttt, with
  37.      one important difference:  it attaches a GLX context to two drawables,
  38.      rather than one.  The second drawable serves as the source for any pixel
  39.      data that are read by ggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss, ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss, and OpenGL extension
  40.      commands that read color, depth, or stencil data from the framebuffer.
  41.      It may be an ordinary GLX drawable, or it may be a GLX video source (see
  42.      ggggllllXXXXCCCCrrrreeeeaaaatttteeeeGGGGLLLLXXXXVVVViiiiddddeeeeooooSSSSoooouuuurrrrcccceeeeSSSSGGGGIIIIXXXX).  Accumulation operations (see ggggllllAAAAccccccccuuuummmm) are
  43.      not allowed when _d_r_a_w is not identical to _r_e_a_d.
  44.  
  45.      It is not necessary for _d_r_a_w and _r_e_a_d to have the same ancillary buffers.
  46.      It is also not necessary for _r_e_a_d to contain a buffer corresponding to
  47.      the current GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR of _g_c.  For example, the current
  48.      GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR of _g_c might be GGGGLLLL____BBBBAAAACCCCKKKK, and _r_e_a_d might be single-buffered.
  49.      If there is no corresponding buffer in _r_e_a_d, then the pixel values
  50.      extracted from _r_e_a_d will be undefined, but no error will be generated.
  51.      Operations that query the value of GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR use the value set last
  52.      in _g_c, regardless of whether _r_e_a_d has the corresponding buffer.
  53.  
  54.      ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII returns TTTTrrrruuuueeee if it is successful, FFFFaaaallllsssseeee otherwise.
  55.      If FFFFaaaallllsssseeee is returned, the previously current rendering context and
  56.      drawables (if any) remain unchanged.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII((((3333GGGG))))
  71.  
  72.  
  73.  
  74. EEEERRRRRRRROOOORRRRSSSS
  75.      BBBBaaaaddddMMMMaaaattttcccchhhh is generated if any of the following conditions hold:
  76.  
  77.           1.   _d_r_a_w was not created on the same X screen and visual as _g_c.
  78.  
  79.           2.   _r_e_a_d was not created on the same X screen as _g_c.
  80.  
  81.           3.   _d_r_a_w is NNNNoooonnnneeee and _g_c is not NNNNoooonnnneeee.
  82.  
  83.           4.   _d_r_a_w is a GLX video source.
  84.  
  85.      BBBBaaaaddddAAAAcccccccceeeessssssss is generated if _g_c was current to another thread at the time
  86.      ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII was called.
  87.  
  88.      GGGGLLLLXXXXBBBBaaaaddddDDDDrrrraaaawwwwaaaabbbblllleeee is generated if either _d_r_a_w or _r_e_a_d is not a valid GLX
  89.      drawable.
  90.  
  91.      GGGGLLLLXXXXBBBBaaaaddddCCCCoooonnnntttteeeexxxxtttt is generated if _g_c is not a valid GLX context.
  92.  
  93.      GGGGLLLLXXXXBBBBaaaaddddCCCCoooonnnntttteeeexxxxttttSSSSttttaaaatttteeee is generated if ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII is called
  94.      between a ggggllllBBBBeeeeggggiiiinnnn and the corresponding call to ggggllllEEEEnnnndddd.
  95.  
  96.      GGGGLLLLXXXXBBBBaaaaddddCCCCoooonnnntttteeeexxxxttttSSSSttttaaaatttteeee is also generated if the rendering context current to
  97.      the calling thread has OpenGL renderer state GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK or GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT.
  98.  
  99.      GGGGLLLLXXXXBBBBaaaaddddCCCCuuuurrrrrrrreeeennnnttttWWWWiiiinnnnddddoooowwww is generated if there are pending OpenGL commands for
  100.      the previous context and the current drawable is a window that is no
  101.      longer valid.
  102.  
  103.      BBBBaaaaddddAAAAlllllllloooocccc may be generated if the server has delayed allocation of
  104.      ancillary buffers until ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII is called, only to find
  105.      that it has insufficient resources to complete the allocation.
  106.  
  107.  
  108.  
  109. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  110.      The SSSSGGGGIIII____mmmmaaaakkkkeeee____ccccuuuurrrrrrrreeeennnntttt____rrrreeeeaaaadddd extension is supported on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee,
  111.      RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems with the following restrictions:
  112.  
  113.           1.  A BBBBaaaaddddMMMMaaaattttcccchhhh error is generated if
  114.  
  115.               a.   _d_r_a_w is RGBA and _r_e_a_d is not, or vice versa.  A video
  116.                    source (see ggggllllXXXXCCCCrrrreeeeaaaatttteeeeGGGGLLLLXXXXVVVViiiiddddeeeeooooSSSSoooouuuurrrrcccceeeeSSSSGGGGIIIIXXXX) is considered to
  117.                    be RGBA.
  118.  
  119.               b.   _r_e_a_d is not a video source and it does not have the same
  120.                    color component resolution or the same number of index bits
  121.                    as _d_r_a_w;
  122.  
  123.               c.   Either _d_r_a_w or _r_e_a_d is not at buffer level 0 (the main
  124.                    frame buffer planes, rather than overlay planes).
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII((((3333GGGG))))   OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee ---- GGGGLLLLXXXX   ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII((((3333GGGG))))
  137.  
  138.  
  139.  
  140.               d.   _d_r_a_w is multisample capable and _r_e_a_d_P _i_s _a _p_b_u_f_f_e_r (_s_e_e
  141.                    ggggllllXXXXCCCCrrrreeeeaaaatttteeeeGGGGLLLLXXXXPPPPbbbbuuuuffffffffeeeerrrrSSSSGGGGIIIIXXXX).
  142.  
  143.           2.  When _d_r_a_w is a pixmap then _r_e_a_d must be the same pixmap.  A
  144.               BBBBaaaaddddAAAAlllllllloooocccc error is generated otherwise.
  145.  
  146.      On RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX, on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy, on HHHHiiiigggghhhh
  147.      IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt, on SSSSoooolllliiiidddd IIIImmmmppppaaaacccctttt systems, on OOOO2222 systems, and on
  148.      OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems, it is not possible to use a context for rendering
  149.      to both windows and pixmaps.
  150.  
  151.  
  152. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  153.      ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnntttt, ggggllllXXXXCCCCrrrreeeeaaaatttteeeeCCCCoooonnnntttteeeexxxxtttt, ggggllllXXXXGGGGeeeettttCCCCuuuurrrrrrrreeeennnnttttCCCCoooonnnntttteeeexxxxtttt,
  154.      ggggllllXXXXGGGGeeeettttCCCCuuuurrrrrrrreeeennnnttttDDDDiiiissssppppllllaaaayyyy, ggggllllXXXXGGGGeeeettttCCCCuuuurrrrrrrreeeennnnttttDDDDrrrraaaawwwwaaaabbbblllleeee, ggggllllXXXXGGGGeeeettttCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddDDDDrrrraaaawwwwaaaabbbblllleeee
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.